home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SNNSV32.ZIP / SNNSv3.2 / kernel / sources / dlvq_learn.ph < prev    next >
Text File  |  1994-04-25  |  2KB  |  92 lines

  1. /*****************************************************************************
  2.   FILE           : dlvq_learn.ph
  3.   SHORTNAME      : 
  4.   SNNS VERSION   : 3.2
  5.  
  6.   PURPOSE        : Header file of correspondent '.c' file
  7.   NOTES          :
  8.  
  9.   AUTHOR         : Michael Schmalzl 
  10.   DATE           : 5.2.93
  11.  
  12.   CHANGED BY     : 
  13.   IDENTIFICATION : @(#)dlvq_learn.ph    1.8 3/15/94
  14.   SCCS VERSION   : 1.8
  15.   LAST CHANGE    : 3/15/94
  16.  
  17.              Copyright (c) 1990-1994  SNNS Group, IPVR, Univ. Stuttgart, FRG
  18.  
  19. ******************************************************************************/
  20.  
  21. /* begin global definition section */
  22.  
  23. krui_err getNoOfClasses(int startPattern, int endPattern);
  24.  
  25. krui_err LEARN_DLVQ(int startPattern, int endPattern, float *ParameterInArray,
  26.             int NoOfInParams, float **ParameterOutArray, 
  27.             int *NoOfOutParams);
  28.  
  29. void normPatterns(int startPattern, int endPattern);
  30.  
  31. void allocInitialUnitArray(void);
  32.  
  33. void initInitialUnitArray(int startPattern, int endPattern);
  34.  
  35. void allocArrays(void);
  36.  
  37. krui_err dlvq_setPointers(void);
  38.  
  39. void generateMissingClassHiddenUnits(int *generatedNewUnit);
  40.  
  41. int newPatternsLoaded = 0;
  42. int dlvq_numberOfLearnCycles=0;
  43.  
  44. /* end global definition section */
  45.  
  46. /* begin privat definition section */
  47.  
  48. static struct MIX_UP  **mixupArray;
  49. static struct MIX_UP  *initialUnitArray;
  50. static int *lastInsertedUnitArray;
  51.  
  52. static int noOfClasses=0;
  53. static int oldNoOfClasses=0;
  54. static int wrongClassCounter=0;
  55. static int continueLearning=0;
  56.  
  57. static void printMixupArray(int cycle);
  58.  
  59. static void allocMixupArray(void);
  60.  
  61. static void allocLastInsertedUnitArray(void);
  62.  
  63. static void normReferenceVec(struct Unit *hiddenUnitPtr);
  64.  
  65. static void moveVec(struct Unit *correctReferenceVec, float learnParam1,
  66.                      struct Unit *wrongReferenceVec,  float learnParam2);
  67.  
  68. static void writeVectorToMixupArray(int correctClass, int wrongClass, 
  69.                     int patternNo, int sub_pat_no);
  70.  
  71. static void initFirstUnit(struct Unit *hiddenUnitPtr, int class);
  72.  
  73. static krui_err insertFirstUnit(struct Unit **hiddenUnitPtr);
  74.  
  75. static krui_err insertNewUnits(void);
  76.  
  77. static void initMixupArray(void);
  78.  
  79. static void dlvq_trainNet(int noOfTrainingCycles, int startPattern, 
  80.               int endPattern, float learnParam1, 
  81.               float learnParam2);
  82.  
  83. static void generateTmpTopoPtrArray(void);
  84.  
  85. static void calculateUnitXYPos(void);
  86.  
  87. static void initLastInsertedUnitArray(void);
  88.  
  89. static void sortHiddenUnitsByClasses(int left, int right);
  90.  
  91. /* begin privat definition section */
  92.